let obj = {
  a: 1,
  b: 2,
  c: 3
}


// 代理是整个对象都被绑架，简单来说就是对象上的种种行为都有一个代理函数
let proxy = new Proxy(obj, {
  get: function (target, key) {
    return target[key]
  },
  set: function (target, key, value) {
    target[key] = value
  },
  // xxx 包括set get 一共13个函数
})

proxy.a = 10// 会触发 set
console.log(proxy.a);// 会走proxy中的get方法


